Maven ব্যবহার করে Jackson অন্তর্ভুক্ত করা

Jackson Maven Dependency এবং সেটআপ - জ্যাকসন অ্যানোটেশন (Jackson Annotations) - Java Technologies

374

Jackson হলো একটি শক্তিশালী JSON প্রক্রিয়াকরণ লাইব্রেরি যা Java-তে JSON Serialization (Java Object থেকে JSON এ রূপান্তর) এবং Deserialization (JSON থেকে Java Object এ রূপান্তর) সহজ করে তোলে। Maven প্রজেক্টে Jackson অন্তর্ভুক্ত করতে jackson-databind, jackson-core, এবং jackson-annotations ডিপেনডেন্সি ব্যবহার করা হয়।


Jackson এর প্রয়োজনীয় ডিপেনডেন্সি

Maven প্রজেক্টের pom.xml ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করুন:

<dependencies>
    <!-- Jackson Databind: Serialization/Deserialization -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.15.2</version> <!-- সর্বশেষ ভার্সন -->
    </dependency>

    <!-- Jackson Core: JSON প্রসেসিং -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.15.2</version>
    </dependency>

    <!-- Jackson Annotations: বিভিন্ন অ্যানোটেশন -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.15.2</version>
    </dependency>
</dependencies>

Jackson এর প্রধান মডিউল সমূহ

Jackson বিভিন্ন কাজের জন্য পৃথক মডিউল সরবরাহ করে:

মডিউলবিবরণ
jackson-databindJSON Serialization এবং Deserialization এর মূল কাজ।
jackson-coreJSON প্রক্রিয়াকরণের জন্য নিম্ন-স্তরের API।
jackson-annotationsJackson এর অ্যানোটেশন যেমন @JsonProperty, @JsonIgnore ইত্যাদি।
jackson-module-jaxbJAXB অ্যানোটেশনগুলোর সমর্থনের জন্য।
jackson-module-kotlinKotlin এর জন্য বিশেষ সমর্থন।

Jackson অন্তর্ভুক্ত করার উদাহরণ

Step 1: Maven প্রজেক্ট সেটআপ

  1. Maven প্রজেক্ট তৈরি করুন।
  2. pom.xml ফাইলে উপরের ডিপেনডেন্সি যোগ করুন।
  3. Maven প্রজেক্ট রিফ্রেশ করুন (mvn clean install চালান)।

Step 2: JSON Serialization এবং Deserialization এর উদাহরণ

মডেল ক্লাস তৈরি
public class User {
    private String name;
    private int age;
    private String email;

    // Getters and Setters
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

Serialization (Java Object থেকে JSON)
import com.fasterxml.jackson.databind.ObjectMapper;

public class SerializationExample {
    public static void main(String[] args) throws Exception {
        User user = new User();
        user.setName("Alice");
        user.setAge(30);
        user.setEmail("alice@example.com");

        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(user);

        System.out.println("Serialized JSON: " + json);
    }
}

Output:

{"name":"Alice","age":30,"email":"alice@example.com"}

Deserialization (JSON থেকে Java Object)
import com.fasterxml.jackson.databind.ObjectMapper;

public class DeserializationExample {
    public static void main(String[] args) throws Exception {
        String json = "{\"name\":\"Bob\",\"age\":25,\"email\":\"bob@example.com\"}";

        ObjectMapper mapper = new ObjectMapper();
        User user = mapper.readValue(json, User.class);

        System.out.println("Name: " + user.getName());
        System.out.println("Age: " + user.getAge());
        System.out.println("Email: " + user.getEmail());
    }
}

Output:

Name: Bob
Age: 25
Email: bob@example.com

Jackson অ্যানোটেশন সমর্থন

Jackson এর jackson-annotations মডিউলটি ব্যবহার করে JSON প্রক্রিয়াকরণকে কাস্টমাইজ করা যায়। প্রধান অ্যানোটেশনসমূহ:

1. @JsonProperty

import com.fasterxml.jackson.annotation.JsonProperty;

public class User {
    @JsonProperty("user_name")
    private String name;

    private int age;

    @JsonProperty("user_email")
    private String email;

    // Getters and Setters
}

Serialized Output:

{"user_name":"Alice","age":30,"user_email":"alice@example.com"}

2. @JsonIgnore

import com.fasterxml.jackson.annotation.JsonIgnore;

public class User {
    private String name;

    @JsonIgnore
    private String password;

    // Getters and Setters
}

Serialized Output:

{"name":"Alice"}

3. @JsonInclude

import com.fasterxml.jackson.annotation.JsonInclude;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class User {
    private String name;
    private String email;

    // Getters and Setters
}

Serialized Output (If email is null):

{"name":"Alice"}

  • Jackson এর মাধ্যমে JSON প্রক্রিয়াকরণ অত্যন্ত সহজ এবং কার্যকর।
  • Maven ব্যবহার করে jackson-databind, jackson-core, এবং jackson-annotations অন্তর্ভুক্ত করে JSON Serialization/Deserialization পরিচালনা করা যায়।
  • Jackson Annotations ব্যবহার করে JSON আউটপুট কাস্টমাইজ করা সম্ভব।
  • Spring Boot প্রকল্পে Jackson ডিফল্টভাবে অন্তর্ভুক্ত থাকে, এবং এটি REST API JSON প্রক্রিয়াকরণকে সহজ করে।
Content added By
Promotion

Are you sure to start over?

Loading...